package kr.hkit.powerjava.chapter23;
// 챕터 23. 602페이지 
 class Buffer {
	 private int data;
	 private boolean empty = true; //소비자가 기다리고 있으면 true
	 
	 public synchronized int get(){
		 while (empty) { //true면
			 try {
				 System.out.println("소비자 대기큐로");
				wait();
			} catch (InterruptedException e) {
			}
		 }
		 empty = true;
		 notifyAll();
		return data;
	 }
	 
	public synchronized void put(int data) {
		while (!empty) { // false면
			try {
				 System.out.println("생산자 대기큐로");
				wait();
			} catch (InterruptedException e) {
			}
		}
		empty = false;
		 this.data=data;
		 notifyAll();
	} 
}
